package leetcode_1000;

import helpclass.TreeNode;

/**
 *@author 周杨
 *FlipEquivalentBinaryTrees_951 如果一棵树的某些节点左右子树交换 能使这两棵树相等 那么这棵树为可翻转 问两棵树能翻转吗
 *describe:递归即可
 *2018年12月2日 下午6:38:55
 */
public class FlipEquivalentBinaryTrees_951 {
	public boolean flipEquiv(TreeNode root1, TreeNode root2) {
        if(root1==null) {
        	if(root2==null)
        		return true;
        	return false;
        }
        if(root2==null) return false;
        if(root1.val!=root2.val) return false;
        return (flipEquiv(root1.left, root2.left)&&flipEquiv(root1.right, root2.right))
        		||(flipEquiv(root1.left, root2.right)&&flipEquiv(root1.right, root2.left));
    }
}
